/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 *
 * @author Nicolas
 */
public class Labyrinthe {

    private static int LARGEUR;
    private static int HAUTEUR;
    private static Case CASE_DEPART;
    private static Case CASE_ARRIVEE;
    private static Plateau PLATEAU;

    public static void initialiser(int largeur, int hauteur, Case case_depart, Case case_arrivee){
        LARGEUR = largeur;
        HAUTEUR = hauteur;
        CASE_DEPART = case_depart;
        CASE_ARRIVEE = case_arrivee;
        PLATEAU = new Plateau(LARGEUR+2,HAUTEUR+2);
        PLATEAU.setTypeCase(case_depart,TypeCase.DEPART);
        PLATEAU.setTypeCase(case_arrivee,TypeCase.ARRIVEE);
        //On place des parois sur les lignes 0 et hauteur+1
        for(int i=0;i<PLATEAU.getLargeur();i++){
            PLATEAU.setTypeCase(i,0,TypeCase.PAROI);
            PLATEAU.setTypeCase(i,HAUTEUR+1,TypeCase.PAROI);
        }
        //On place des parois sur les colonnes 0 et largeur+1
        for(int i=0;i<PLATEAU.getHauteur();i++){
            PLATEAU.setTypeCase(0,i,TypeCase.PAROI);
            PLATEAU.setTypeCase(LARGEUR+1,i,TypeCase.PAROI);
        }
    }
    
    public static Case getCaseDepart(){
        return CASE_DEPART;
    }
    
    public static Case getCaseArrivee(){
        return CASE_ARRIVEE;
    }    
    
    public static void draw(int x, int y){
        PLATEAU.draw(x,y);
    }
        
    public static void setTypeCase(Case position, TypeCase TYPE_CASE){
        PLATEAU.setTypeCase(position.getX(),position.getY(),TYPE_CASE);
    }
}
